Break the problem down logically:
pppoe clients in group 1 should all have some easily-matched criteria that identifies them as group 1
Then a srcnat rule matches criteria1 and uses to-address=ip1
replicate this for group 2 and group 3 ... etc...
That's it in a nutshell. Now- what criteria to use?
A) Use a different IP pool for each group of users - this is easily matched by a srcnat rule:
src-address=172.16.0.0/16 action=src-nat to-address=ip1
src-address=172.17.0.0/16 action=src-nat to-address=ip2
B) Use the "address list" option on the ppp profiles to specify an address list for the user's IP to be placed in,
and then NAT based on the address list:
PPP Profile "group 1" -> address-list=Group1
PPP Profile "group 2" -> address-list=Group2
/ip firewall nat ->
chain=srcnat src-address-list=Group1 action=src-nat to-address=ip1
chain=srcnat src-address-list=Group2 action=src-nat to-address=ip2
When given a spoon,
you should not cling to your fork.
The soup will get cold.