Use Enum array casts in fields?

We’ve started using native PHP Enums (string backed) in our Models (both for fetching the backend field options and for Casting on the Model itself) and they work great in the October backend when it’s a singular Enum.

However, I’ve tried using Eloquent’s AsEnumArrayObject class (as mentioned in the Laravel docs here: Eloquent: Mutators & Casting - Laravel 10.x - The PHP Framework For Web Artisans) to store an array of Enums in a single column.

I’ve tried both checkboxlist and taglist Field types and they both correctly render the Enum options and they even save the data correctly in the database (an array of the Enum value). However, when refreshing the backend page, the values saved in the DB are not preselected in the form.

For the record an example field from the form yaml is:

        commercial_property_types:
            label: Property Types
            type: taglist
            mode: array
            multi: true
            useKey: true
            options: App\Properties\Enums\CommercialPropertyType::getAllOptionsForBackend

and an example cast:

public $casts = [
        'commercial_property_types' => AsEnumArrayObject::class.':'.CommercialPropertyType::class,
    ];

I can confirm the Cast works using Tinker (I see those field values as an array of Enums) but it’s just the backend forms that aren’t displaying them correctly.

Anyone have any advice on this or is there perhaps something I’ve missed?

Many thanks!