I suggest keeping the template to one enum type, and generating one file for each "kind". I did that separation originally in #543 because it makes reviewing changes much easier, comparing additions/removals across the three types.
Originally posted by @OmarTawfik in #564 (comment)
Originally posted by @OmarTawfik in #564 (comment)