name; } public function getPluralLabel(): ?string { return match ($this) { self::Asset => 'Assets', self::Liability => 'Liabilities', self::Equity => 'Equity', self::Revenue => 'Revenue', self::Expense => 'Expenses', }; } public static function fromPluralLabel(string $label): ?self { foreach (self::cases() as $case) { if ($case->getPluralLabel() === $label) { return $case; } } return null; } }