got rid of anonymous enum for integral precision