How to do Gameplay Tags pin with parent check if want to replace nested enum

I use Gamplay tags to replace nested enum, representing character states in game, like
State.Normal.Idle;
State.Normal.Talking;
State.Combat.Attack;
State.Combat.Dodging…

When I use Enum, I cannot have nested structure, and gameplay tags helped a lot on this side. But it brings new problems on the other hand. Since I can input any tag where the orginal State enum pin is, now the compiler cannot check types during compling. I want that pin can be only input with tags with State as their parent like State.xxx. Currently I have to do runtime check like this:

How can I do this check during compling, just like if you try to connet a different type enum to another type enum pin, the compiler will tell you the error?

You can use a switch using a gameplay tag as the switch type and check for specific tags; it works like an Enum in that regard.

image