OptionSets seem to be treated as some sort of special case in Processes. This gets in the way of good solution design for ISVs and Consultants. Two examples:
I have a dialog that asks the user to select an option from an OptionSet (one that has been defined in the dialog). The OptionSet has a Data Type of Integer. I can use this value in the same Dialog to update values in another entity but I CANNOT pass that value to a child Dialog and use it there. I can't even pass it as an integer or text value, it's just not available.
Similarly, I want the user to select an entity from a list of records that have been queried from CRM. That entity contains an optionset. I can use the values from all other attributes on the entity as I wish, but much like example (1), I cannot use the optionset values unless it is to update the same record type that was originally queried. Again, there is no access to the label or the underlying integer value.