I would agree on the enum front, not based on any of the points beef made but more fundamentally:
The way this looks to me, the naive and unknowing user, is that it's a different of writing object variants where you directly write the enum into the object variant. However what I'm mildly stuck on is how you those "enums-in-variants" interact with stuff like e.g. `parseEnum`