I seem to have solved this in the end. I added this code to my plugin:
function wpa_cpt_tags( $query ) {
if ( $query->is_tag() && $query->is_main_query() ) {
$query->set( 'post_type', array( 'post', 'case' ) );
}
}
add_action( 'pre_get_posts', 'wpa_cpt_tags' );
This can also be added to functions.php.