Fix accidental enum bloat in the AST

My previous changes caused some of the enum variants to grow quite large. This throws some `~` at it in order to keep the enum sizes down.

For comparison, the before/after of type sizes for this PR: https://gist.github.com/Aatch/5945776