How to register a user to a group by an invitation code?

Not sure how you want to handle groups, but it could just be user_meta.

Regardless, you could use Gravity Forms + user registration add-on to process a user registration and determine what group the user should be added to. This should work even if you are using third-party hooks.

If it’s simple user_meta, you can just check for that wherever you want to limit membership, and avoid stacking up tons of third party plugins.

Here is an example.

// assign group based on code input
add_action('gform_after_submission', 'the_grouper', 10, 2);
function the_grouper($entry, $form){
    $current_user = wp_get_current_user();
    $current_user_id = $current_user->ID;

    switch $entry['group_code'] {
        case 'CODE_123' :
            $group = 'group_123';
            break;

        case 'CODE_ABC' :
            $group = 'group_abc';
            break;
        // etc

        default:
            $group = false;
            break;
    }

    if($group){
        update_metadata('user', $current_user_id, 'the_group', $group);
    }
}