We have the same problem with special types, WORKER vs OMER.
I am wondering if we need to solve these problems in the database, or is it easier to add a configuration parameter, which we have to pass to the reports.
Otherwise all the tables and queries become again more complicated.
Also: for OM, you don't need to worry about other organisations. It is up to other organisations to make it work for them, and to invest into such a solution.
I think, OM should focus on getting it work for OM.
It would even work to have a separate branch with hardcoded values for OM, which I do for my customers.
We need to keep it simple.