Torn on the best way to handle this minting solution

So I am releasing a project that has 2 factions and will have 2 sets of hidden URI images 1 for each faction. Users are going to be whitelisted to the faction of their desire. I am torn on how I should mint the tokens for their desired faction. These are the two options I'm debating and wondering if anyone has an input on which one is better or if they have a better idea.

Option 1: Have tokens 1-5000 be faction 1, tokens 5001-10000 faction 2. Instead of minting a random token, mint starting from token 1 for faction 1 and starting at 5001 for faction 2. Have my hidden URI for faction 1 and 2 set to those tokens respectively.

Option 2: Have a constructor argument for faction 1 hidden URI and faction 2 hidden URI. Mint at random and when someone mints faction 1 set base URI for that token to faction 1 hidden URI. Same for faction 2. Then run a script to find out which tokens have faction 1 hidden URI and which tokens are faction 2 hidden URI and then order the revealed images to match faction types.

Wondering what you guys think of this.

If you are creating a game based nft .
Your solution 2 would be better