Having a function and a program field both called "flag_types" is a little confusing. Consider renaming this one.

Also, is there a reason you put this outside of any class instead of putting it in ClassFlagType and using @staticmethod? I ask because the latter is more consistent with our other models, or at least the ones I'm familiar with.