Ok, I took a slightly different approach and it appears to be working (filtering the episodes to only those related to the selected show), but the "Show" column is empty.
add_action( 'parse_query', 'filter_episodes_by_selected_show' );
function filter_episodes_by_selected_show($query) {
global $pagenow, $typenow;
if ($typenow == 'episodes' && is_admin() && $pagenow == 'edit.php' && isset($_GET['filter_show']) && $_GET['filter_show'] != '') {
$show_id = intval($_GET['filter_show']);
if (!empty($show_id)) {
$query->set('relationship', [
'id' => 'episodes-to-shows',
'to' => $show_id
]);
}
}
return $query;
}