Several functions return an error message when a value is provided but it can't be found in the respective list function:
acoustic_project_code is checked against list_acoustic_project_codes() via the helper check_value().
The error currently lists all the provided values against all possible values, this is a bit much. It would be better to only mention the values that do not match, and mention less example valid values. Maybe only the valid values that start with the same character?