added some enum generation