'Male', self::FEMALE => 'Female', }; } public function color(): string { return match ($this) { self::MALE => 'primary', self::FEMALE => 'success', }; } public static function values(): array { return array_map(fn ($case) => $case->value, self::cases()); } public static function comment(): string { return implode(', ', array_map(fn ($case) => "{$case->value}: {$case->label()}", self::cases())); } }