Example of Enum in spatie/spatie.be

File composer.json (link to Github)
{
    //
    "require": {
        //
        "spatie/laravel-enum": "^2.5",
    }
    //
}
File app/Models/Enums/TechnologyType.php (link to Github)
use Spatie\Enum\Laravel\Enum;

class TechnologyType extends Enum
{
    public static function toLabels(): array
    {
        return [
            'frontend'=> 'Frontend',
            'backend' => 'Backend',
            'devops' => 'Devops',
            'tools' => 'Tools',
            'integrations' => 'Integrations',
        ];
    }
}
File app/Models/Technology.php (link to Github)
use Illuminate\Database\Eloquent\Model;

class Technology extends Model
{
    //
    public $casts = [
        'type' => TechnologyType::class.':nullable',
        'recommended_by' => 'array',
    ];
    //
}
File app/Nova/Technology.php (link to Github)
use Laravel\Nova\Fields\Select;

class Technology extends Resource
{
    //
    public function fields(Request $request): array
    {
        return [
        //
            Select::make('Type')
                ->sortable()
                ->nullable(false)
                ->rules(['required'])
                ->options(TechnologyType::toLabels()),
        //
        ];
    }
}

Additional resources on enum: