From object to array with revert and regroup
I assume that the values are no longer needed in the output array and that you only want to construct the final array that you receive after the call to your array_values function.

// I extend the data with another duplicated value for a better test.
var input = { "Data 1": 0, "Data 2": 1, "Data 3": 3, "Data 4": 0, "Data 5": 3 };

// No change, our output array.
var output = [];

// We will use an additional array to create a mapping between actual values
// and the output array's indices they are stored at.
var mapping = [];

for (var data in input) {
    // Check if the value of this input data is already present in the
    // mapping's array, if it is, append the actual data to the already
    // existing array.
    //
    // NOTE: Using `mapping[input[data]] == undefined` is not a secure method
    // to check if an array index exists, since the value might be undefined
    // and that is not what we want. It is like `isset` and `array_key_exists`
    // in PHP, if you are familiar with that language.
    if (input[data] in mapping) {
        // We access the output array via the mappings array and the original
        // input arrays value and push the data.
        output[mapping[input[data]]].push(data);
        // output[0].push("Data 4");
        // output[2].push("Data 5");
    }
    // No entry exists in the mapping's array.
    else {
        // Push will simply append the data, we also inline the creation of the
        // desired array for additional data for this index.
        output.push([ data ]);
        // output[0] = [ "Data 1" ];
        // output[1] = [ "Data 2" ];
        // output[2] = [ "Data 3" ];

        // Now we need to create the actual mapping in case other data has the
        // same value. We simply create a new index and store the output
        // array's current index there (note the `-1` since `length` starts at
        // one in contrast to the indices which start at zero).
        mapping[input[data]] = output.length - 1;
        // mapping[0] = 0;
        // mapping[1] = 1;
        // mapping[3] = 2;
    }
}

console.dir(output);