cir = p.circle(x='x', y='y', fill_color='colors1', line_color='colors1',
    size=20, source=csource)
cb_cselect = bokeh.models.CustomJS(args=dict(cir=cir, csource=csource),
    code=
    """
    var selected_color = cb_obj.value;
    cir.glyph.line_color.field = selected_color;
    cir.glyph.fill_color.field = selected_color;
    csource.trigger("change")
"""
    )
color_select = bokeh.models.Select(title='Select colors', value='colors1',
    options=['colors1', 'colors2'], callback=cb_cselect)
layout = bokeh.layouts.gridplot([[p], [color_select]])
bokeh.io.output_file('output.html')
bokeh.io.show(layout)
Bokeh, how to change column used for glyph colors with CustomJS callbacks?