Mutation category strength increases by 8 every time you gain a mutation in that category, and is reduced by 8 when you lose a mutation in the category. There’s also a small chance for a category to lose 1 point when you mutate in a different category.
The effect strength of 1, 2 and 3 you see in the JSON is just used to specify if it’s for low, medium or high levels of mutation. The effect strength is determined by the category strength (and thus, how heavily mutated into a category you are). When category strength is below 20 (less than 3 mutations in the category), you’ll get no effect at all. From 20 to 35 (3 or 4 mutations) you’ll get the effect strength 1. 35 to 50 (5 or 6 mutations) is effect strength 2. Above 50 (more than 6 mutations in the category) you’ll see effect strength 3. Other than changing the message you get, the higher levels tend to get more dreams than lower ones, at effect strength 1 you get a chance for a dream every 6 hours. At level 2 it’s every 3 hours and at level 3 it’s every 2 hours. However, each time there’s only a 33% chance that you’ll actually get a dream.
The thresholds for the effect strengths were just arbitrary levels that I chose, I felt that they spread the effects out enough without precluding some of the inherently weaker categories (Rat, for example, only has a small number of mutations) from getting strength 3.