I would use JSON to format all possible options for all possible groups (for your example, it would be like this:
[quote:2brufpoq]
{
"c2array": true,
"size": [3,1,1],
"data": [[["cats"]],[["dogs"]],[["humans"]]
}
Then you can import this text into C2 Array (Array > Load > input text) and choose a random entry like: Array.At((random(Array.Width)-1))
You can rinse and repeat for as many arrays as needed. Like on Array > Load in the "JSON" slot you would put:
[quote:2brufpoq]"{""c2array"": true,""size"": [3,1,1],""data"": [[[""cats""]],[[""dogs""]],[[""humans""]]}"
NOTE: If you are inputting raw text directly into the C2 you must use "" for all quotation marks in your string.
Thank you! That gives me a rough idea on how to proceed. However, any ideas on changing the probability? Thanks:)