You might be able to direct users to accept the ToS by using some of the features in the Discourse Custom Wizard plugin:
There is definitely scope to set conditionals based on group membership and to change group membership from the output of the wizard.
1 me gusta