If you're talking about something like a field with multiple values (where they are all under the same "Request Type" header but have their own fields) then the only way I know of to accomplish that is by using the column values of a table.
If you create a table element, you use a column as the value of a multi-value metadata field and when saving to the repository it will automatically add each row as a separate entry. You could utilize this for your current need by using JavaScript:
- On click (checkbox)
- Iterate through each "checked" box
- Populate a row of the hidden table with the values
You wouldn't need the table to be dynamic because it should ignore anything that doesn't have any values. If you want to avoid JavaScript, you could pull this kind of thing off with Functions that reference the ROW() value to determine which checkbox to evaluate, and then use the true/false of the checkbox to populate the value into that row/cell.
However, this seems like a good case for a feature request, unless I'm missing something in the existing functionality. There is an option to include the "list of all checked" but there should be an option to split those into separate rows if the field allows multiple values.