Software Craftsmanship Competency Assessment

Question 1 of 10

User Account State Modeling

public class UserAccount {
    private String status; // "ACTIVE", "SUSPENDED", "PENDING_VERIFICATION"
    private boolean isEmailVerified;
    private boolean isSuspended;
    private String suspensionReason;
    
    public boolean canLogin() {
        return status.equals("ACTIVE") && !isSuspended && isEmailVerified;
    }
    
    public void suspend(String reason) {
        this.status = "SUSPENDED";
        this.isSuspended = true;
        this.suspensionReason = reason;
    }
}

What would be the best refactoring of this code?