Disable taxonomy terms in certain contexts or split into different vocabularies? I have created a taxonomy of regions, with the intent of multiple uses:


Users select their region in their profile
Events include a region field.


This should make it rather easy to show users events in their region.

Each of these use cases requires one or two extra terms:


Users might be from "outside New Zealand".
Events might be "Nationwide", "Worldwide" or indeed "online".


But we don't want events outside NZ submitted, and the latter three terms are not appropriate for users to choose as their location. So I want to disable them from the listed options in each case.

I thought there might be a CSS solution as there are ample distinctive selectors available in the parent elements, but Drupal does not assign any classes to option elements - they only have a value, and the numeric id of the taxonomy term at that.

Is there a way to do this using Rules or Context?
Alternative 1
Create two different taxonomy vocabularies:

Events
Users

since the use cases for each are different.
To create another taxonomy vocabulary easy and fast, you could export your existing terms and then import them into a new vocabulary. This could be done with some taxonomy bulk import/export module, maybe with https://www.drupal.org/project/taxonomy_csv or with https://www.drupal.org/project/taxonomy_manager
Alternative 2
Added to this answer after OP's first comment.

Keep the Events and Users together in one vocabulary, EventsUsers.

Create another vocabulary, EventUserType. Add two terms:
Events and Users.

Add a Term reference field with Check boxes/radio buttons to the EventsUsers, save. In the next
configuration pages choose vocabulary EventUserType. Also change the Number of values
from 1 to Unlimited.


Now all the terms in the main vocabulary can be tagged as Event, User or both.

The filtering could be done using the Views module, but I guess that would be a separate question here on Drupal Answers.