Switch back to convenient enum/option decoding.

Now that the `Decoder` trait has been fixed, the old enum/option
decoding behavior has returned. Namely, this reverts the behavior
documented in 7a9e11, so it is a

[breaking-change]
0.8.1