Added better support for enums.

- Min/max rollups can now compare enums based on index.
- Value constructor will check value to see if it matches an enum value.
- Added stubs for some other protocol methods.
- Changed tests a little.
- Some other stuff, probably.