Since the answers above did not work with Laravel 11, I decided to write my own
public static function getPossibleEnumValues(string $column): array
{
$table = (new static)->getTable();
$columnType = DB::selectOne("SHOW COLUMNS FROM {$table} WHERE Field = ?", [$column])->Type;
if (preg_match('/^enum\((.*)\)$/', $columnType, $matches)) {
return array_map(
fn($value) => trim($value, "'"),
str_getcsv($matches[1], ',', "'")
);
}
return [];
}