World Map Tap tool on tapping selects 4 fixed countries plus the intended country

So I am creating a world map with bokeh and deploying it on a web page. I have attached a Tap Tool on that figure. But whenever I select a country, say Australia, 4 other countries also get highlighted alongside it (USA, Canada, Russia, Indonesia). These 4 seems to be fixed since I removed USA from map and now only Russia, Canada and Indonesia were extra. The rest of the unselected countries remains darkened out. I think there must be some way to modify the glyphs in js callbacks so that I can forcibly darken all the other countries other than the selected one.

# Input GeoJSON source that contains features for plotting.
geosource = GeoJSONDataSource(geojson=json_data(1))

# Define a sequential multi-hue color palette.
palette = brewer['Reds'][256]
palette = palette[::-1]

# Instantiate LinearColorMapper that linearly maps numbers in a range, into a sequence of colors. Input nan_color.
color_mapper = LinearColorMapper(palette=palette, low=0, high=np.max(data['NO2'])*0.5, nan_color='#d9d9d9')

# Add hover tool
hover = HoverTool(tooltips=[('Country/region', '@country'), ('NO2', '@NO2')], callback=get_callback('hover_cursor'))
tap_cb = get_callback('tap')
tap = TapTool(callback=tap_cb)


# Create color bar.
color_bar = ColorBar(color_mapper=color_mapper, label_standoff=5, width=15, height=200,
                     border_line_color='black', location=(100, 10), orientation='vertical',
                     major_label_text_align='left', major_label_text_color="white",
                     background_fill_alpha=0, border_line_alpha=0)


# Create figure object.
p = figure(title='NO2 concentration from the 1st week of 2020', plot_height=550, plot_width=1100,
           toolbar_location=None, outline_line_color='white', outline_line_alpha = 0, background='black',
           border_fill_color='black')

p.background_fill_color = "black"
p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.axis.visible = False

# Add patch renderer to figure.
p.patches('xs', 'ys', source=geosource, fill_color={'field': 'NO2', 'transform': color_mapper},
          line_color='black', line_width=0.25, fill_alpha=1)

p.tools = [hover, tap]

captured (3)

It’s hard to tell without the data. It sounds like your data is misshapen and creates a single patch for multiple countries.