Iterating through a nested map without changing the structure

Seems that max_by won’t work for you here, because:

If multiple elements are considered maximal, the first one that was found is returned.

So you need something like:

{count, values} =
  map
  |> Enum.group_by(fn {_key, values} -> length(values) end)
  |> Enum.max_by(fn {count, _values} -> count end)