Just like we do with GObject types and G_DEFINE_TYPE, we should use the g_once_init_enter/g_once_init_leave mechanism to make the GType registration of enumeration types thread safe.
COGL is starting to have more enumerations than I can handle by hand. Let's use glib-mkenums and be done with it.