Separate enum declaration grammar
Describe optional template parameters with enums and aliases