Using Mike Bayer's @zzzeek enum recipe.