Exalate allows syncing any kind of custom field type combination.
This article shows how to synchronize data between a select list and a text custom fields.
Select-list to Text Custom Field
For example, you have a custom field called Sports List (select list Single Choice) and you want to sync it to the custom field Sport Type (text field).
Send the select-list value to the remote side
replica.customFields."Sports List".value is an object of type option. The option contains a value, which is the string of the option.
issue.customFields."Sport Type".value is a text type custom field, which includes string value
Text Custom Field to Select-list
The scripts below help to send the text custom field value to the destination side and add a new option to the existing select list field if there is no such option yet.
In case an issue is not synchronized and you wand to trigger synchronization by updating the issue filed, you need to create a JQL trigger.