def METHOD_NAME(use_numba, indices, *values):
    """
    Auxiliary function to sum up values by some given indices (both as numpy arrays).
    :param use_numba:
    :type use_numba:
    :param indices:
    :type indices:
    :param values:
    :type values:
    :return:
    :rtype:
    """
    if not use_numba:
        return _sum_by_group_np(indices, *values)
    elif not numba_installed:
        logger.info("The numba import did not work out, it will not be used.")
        return _sum_by_group_np(indices, *values)
    if len(indices) == 0:
        return tuple([indices] + list(values))
    # idea: shift this into numba function and raise ValueError if condition not accepted,
    # has not yet worked...
    ind_dt = indices.dtype
    indices = indices.astype(np.int32)
    max_ind = max_nb(indices)
    if (max_ind < 1e5 or max_ind < 2 * len(indices)) and max_ind < 10 * len(indices):
        dtypes = [v.dtype for v in values]
        val_arr = np.array(list(values), dtype=np.float64).transpose()
        new_ind, new_arr = _sum_values_by_index(indices, val_arr, max_ind, len(indices),
                                                len(values))
        return tuple([new_ind.astype(ind_dt)]
                     + [new_arr[:, i].astype(dtypes[i]) for i in range(len(values))])
    return _sum_by_group_np(indices, *values)