add to group automatically according to custom logic
This is what Smart Groups can do for you. So instead of setting the Group in the Profile, just set up a Smart Group based on the field eg language.

Or if you need people to be added to a Group via the profile AND then set up subgroups based on language, add the primary Group X via the Profile, then create a Smart Group based on 'is added to Group X AND has preferred language = Mongolian"