Specify enum underlying types only when needed.

Underlying type specification only makes sense when enums are going
to be transferred over the wire, for additional verbosity. In other
cases the default type is fine.