'Identify managed tenant', self::ConnectProvider => 'Connect provider', self::VerifyAccess => 'Verify access', self::Bootstrap => 'Bootstrap', self::CompleteActivate => 'Complete / Activate', }; } public function wizardStep(): int { return match ($this) { self::Identify => 1, self::ConnectProvider => 2, self::VerifyAccess => 3, self::Bootstrap => 4, self::CompleteActivate => 5, }; } public static function fromCurrentStep(?string $step): ?self { return match ($step) { 'identify' => self::Identify, 'connection' => self::ConnectProvider, 'verify' => self::VerifyAccess, 'bootstrap' => self::Bootstrap, 'complete' => self::CompleteActivate, default => null, }; } /** * @return array */ public static function values(): array { return array_map( static fn (self $case): string => $case->value, self::cases(), ); } }