enum in go codegen - although could be slightly better. it requires the type to be specified, if not uses interface\{\}