Models derive macros

For enum E { A(...), B(...) } is not implemented. Union C like enums is not supported.