Well, it'll be slow (i.e. O(n)), but you can do:
var keys = measurementTypes.Where(pair => pair.Value == "GEN")
.Select(pair => pair.Key);
That will give you a sequence of pairs which have the given value. There could be 0, 1 or many matches. From there you can pick the first matching key etc - whatever you need. Using First
or Single
would be appropriate if you think there will be at least one or exactly one; FirstOrDefault
would return 0 if there were no matches, which may not be appropriate for you if 0 could also be a valid key.