Based on all evidence gathered there is a major bug in Spring '17 involving Custom Metadata Types and picklist values: what SOQL returns is different than what's saved in the database.
- go to a sandbox org (where Spring '17 has been activated)
- create a Custom Metadata Type, and add a picklist field with these values:
- 1 or more
- add a new entry and put "1 or more" for the picklist value
- open up Developer Console, then run a query against the Custom Metadata Type:
SELECT MyPicklist__c FROM MyCMT__mdt
- you will notice the value "2" is returned instead of "1 or more"
Take a look here:
Has anyone else noticed this?