'Permanent', self::CONTRACT => 'Contract', self::INTERN => 'Intern', }; } public function color(): string { return match ($this) { self::PERMANENT => 'primary', self::CONTRACT => 'warning', self::INTERN => 'secondary', }; } public static function values(): array { return array_map(fn ($case) => $case->value, self::cases()); } }