They are used for more than persistence.  We use them to determine which
column family to read from/write to.

I'd favor a 1-byte bitfield at this point (then NUMERIC would be INT + LONG
+ DOUBLE), but if we are serializing these values, we cannot change them.

I'm kind of at a loss.  I could use any of INT, LONG or DOUBLE there and
the right CF would be returned, but the lie would be that I don't really
know what numeric type I'm fetching data for.  I'm fine with doing that,
but it seems messier in that it would be the nesting ground for bugs later
on.