CheerfulNotification::getByKey('enum.verification_status.pending'), self::APPROVED => CheerfulNotification::getByKey('enum.verification_status.approved'), self::NEED_REVISION => CheerfulNotification::getByKey('enum.verification_status.need_revision'), self::REJECTED => CheerfulNotification::getByKey('enum.verification_status.rejected'), }; } public function getColor(): string|array|null { return match ($this) { self::PENDING => 'warning', self::APPROVED => 'success', self::NEED_REVISION => 'info', self::REJECTED => 'danger', }; } public static function options(): array { return collect(self::cases()) ->mapWithKeys(fn ($case) => [$case->value => $case->getLabel()]) ->toArray(); } }