Using multiple values with the merge_tag filter

So, what I want to do is create a merge_tag based on a field value. My question is can I use two field values?

My thoughts:

    add_filter( 'gform_merge_tag_filter', function ( $value, $merge_tag, $options, $field, $raw_value ) {
    if ( $field->id == '2' && $value == 'first of the month') {
       $merge_tag = '{the_next_date}';
       $thedatetochange = 'Not sure how to get the date value here...';
       $value = date('m/d/Y', strtotime($thedatetochange . 'first of the next month'));

       return $value;
    }
else if ( $field->id == '2' && $value == 'the 15th') {
       $merge_tag = '{the_next_date}';
       $thedatetochange = 'Not sure how to get the date value here...';
       $the_first_date = date('m/d/Y', strtotime($thedatetochange . 'first of the next month' ));
       $value = date('m/d/Y', strtotime($the_first_date . '+15 days' ));

       return $value;
    }
}, 10, 5 );

My issue is I am not sure how to snag the date I need to manipulate. Or maybe I have more issues.

So after doing more digging, would I be able to use something like this to get the value of the field?

$theDateToChange = rgar( $entry, ‘3’);

This assumes that the field 3 is a date value.