I use this calculation field to define a value list.
Did you realize that "Tag" already contains a value list? No need for a calculation to create a value list unless you need values different from those already selected in the Tag field. If you put a copy of Tag on your layout and remove the check box group formatting, you'll find that the selected values form a list separated by returns and are stored in the order that the user clicked the check boxes.
It't not at all clear what kind of value list you are trying to set up nor what you are trying to do with your calculation field, but you might look up the filtervalues function in help.
Not IsEmpty ( Filtervalues ( Tag ; List ( "Caterer" ; "Chef" ) ) )
for example, will return true only if Chef, Caterer, or both are selected in Tag.
Is this more like the thing you are looking for?
In the second table I made the same checkboxes. So you can choose a type of contact, and then the dropdown list shows you those contacts with that tag.
It's a conditional value list.
Do pay attention:
If you select multiple tags all contacts with one of the tags get shown.