nothing in CR is truly dynamic, as CR needs to know the schema of the data before anything happens.
With that said there are at least 2 methods that can be used to change the grouping of a report based on parameters.
1) create a formula and utilize the formula in the grouping criteria instead of table.field
2) use a stored proc to retrieve your data. You can create a column in the stored proc that is your 'Grouping' column and have the report utilize that value
I am sure that there are more, but these are 2 that I have used.
HTH