On Roblox, there’s an obscure member of the EnumItem type named EnumType which allows you to identify the parent Enum of the EnumItem, given a variable where typeof(variable) == "EnumItem".
For example, the following will evaluate to true:
local item = Enum.ActionType.Draw
print(item.EnumType == Enum.ActionType)
I observed this while using the Luau type checker beta:
In the meantime, you could probably do something like this instead:
However, this would only be a compile-time check that style is an Enum.EasingStyle. But your point still stands that the Luau type checker needs to be able to verify the EnumType member.