You blow my mind, jeśli ProffesionTypes jest enumem, to jak bez rzutowania chcesz wykonywać na nim operacje Linq? BTW. IDE tego nie podkreśla?
Te operacje wykonujesz na elementach dziedziczących po IEnumerable.
Zcastuj to w taki sposób:
var castedProffesionTypes = Enum.GetValues(typeof(ProffesionTypes)).Cast<ProffesionTypes>();
Co do zapisu,
Where(x => x.ProffesionTypes.Any(p => profTypes.Contains(p)))
Jeśli chcesz wypisać wszystkie rekordy, to nie musisz stosować Select (teoretycznie, ale bez niego w EF siada optymalizacja, więc lepiej dopisać).
Jeśli chcesz uzyskać SQL-owy zapis IN
to powinieneś zastosować zapis typu
.Where(u => castedProffesionTypes.Contains(to co zawiera));