Do we want to keep the extra attributes for models (e.g. Enterprises) in extra columns, or would it be useful to move some of them to another structure, like a separate entity-attribute-value table, or (in the future) a JSONB column? This would make it easier for separate networks to introduce extra attributes only they need, without having to modify the core tables.
Of course, this flexibility comes with a cost, so we should not do it with attributes that we want to use in queries (as looking them up is inefficient). But for all the sparse and display-only attributes we have, this could be a nice solution (e.g. the social media links for an Enterprise, or even the optional and compulsory checkout fields.