Thanks.  For others looking at this post the solution is:
private void cboFormula_Change(Event eventObj)
MultiComboInputChangeEventDetail detail = eventObj[“Detail”];
if (detail.Value != detail.OldValue)  //Redundant as fires when an item is clicked or unclicked therefore always a change
string csv = detail.Value;
csv = csv.Replace(” “, “”);  //The returned array is 0, 1, 4, 6 – so has a space after each comma
var items = csv.Split(‘,’)
.Where(m => int.TryParse(m, out _))
.Select(m => int.Parse(m))
myBooleanSetting = items.Contains(0);
…. (repeat for each item)
You get four properties in the event object:
Value – CSV string of integer values (post-change)
OldValue – CSV string of integer values (pre-change)
And similar with the text strings of the items: Label and OldLabel
If you have a long list best option is to compare the OldValue and Value to see what changed.