enum constants everywhere else.
cleaning up to do on existing features, but this is pretty much what the final product will look like.