created and used GObject enum types for all C enums

Yep