Rails validating enum
You can use Ruby's array intersection and check for matches. The empty string passed in your params is irrelevant.

def validate_audio_languages 
    if audio_languages.any?
        enums = Language.languages.map(&amp;:first)
        matches = enums &amp; audio_languages.map!(&amp;:downcase)
        matches.present? ? matches : errors.add(:audio_languages, "not a valid language selection")
    else
        errors.add(:audio_languages, "need to select a language")
    end
 end


You can shave off a couple more lines at the expense of readability, but it pays to keep things simple and readable.