Add user types to profiles

Very simple change @houndci @cgruppioni @georgetmayorga
If each of these types will have different behaviors, they should be different objects so you don't have to litter profile with 4 different responsibilities, and countless conditionals. consider polymorphism