I agree with @DougBrowning that you have to list all the choices out. To combat the issue of extra commas and spaces, I chain multiple if statements together based on the number of selected choices.
I add a hidden integer question that counts the number of selected choices: count-selected(${ind_roles})
Then use that to build out the if statements. (If 3 choices are selected.... if 2 choices are selected..... etc).
if(${ind_roles_ct} = 3, concat(jr:choice-name(selected-at(${ind_roles}, 0), '${ind_roles}'), ', ', jr:choice-name(selected-at(${ind_roles}, 1), '${ind_roles}'), ', ', jr:choice-name(selected-at(${ind_roles},2), '${ind_roles}')),
if(${ind_roles_ct} = 2, concat(jr:choice-name(selected-at(${ind_roles}, 0), '${ind_roles}'), ', ', jr:choice-name(selected-at(${ind_roles}, 1), '${ind_roles}')),if(${ind_roles_ct} = 1, jr:choice-name(selected-at(${ind_roles}, 0), '${ind_roles}'), '')))
- Jen