Код
rollResult = rand(100)
if(rollResult < 2)
// группа 1
else if(rollResult < 6)
// группа 2
else if(rollResult < 10)
// группа 3
Принцип такой, что ты начинаешь с % первой группы, а потом
прибавляешь процент следующей. Т.е. если проценты 1 2 3 группы это 2 4 4, то числа должны быть 2, 2+4, 2+4+4. В итоге ты должен придти к rollResult < 100, который будет последней группой.
Генерировать случайное число в каждом if не нужно.