Always use the same name for unions

Fixes the <_GTokenValue> vs <GTokenValue> problem.
Change enum name to not have a leading underscore