An enum implementing two interfaces, and the one that was wrong

An enum implementing both a presentation interface and a domain one, which is two responsibilities agreeing to share a file.

enum OrderStatus: string implements HasLabel, IsTerminal
{
    case Pending = 'pending';
    case Shipped = 'shipped';

    public function label(): string { /* presentation */ }
    public function isTerminal(): bool { /* domain */ }
}

// the label moved to a presenter keyed on the enum.
// isTerminal stayed, because it is a fact about the
// status rather than about how it is shown.

The test that settled it was asking which method would need to change if the application grew a second language, and which would need to change if the business added a status. Only one answer was the enum. Splitting them left the enum smaller and added a presenter class, which felt like more code and is the correct amount.