code: def get_group_types(inputs, group_cols=None):
      def _flags(group_prop):
          final_group_cols = group_cols or make_list(
              inputs.get(group_prop)
          )
          if len(final_group_cols):
              dtypes = global_state.get_dtypes(inputs["data_id"])
              for dtype_info in dtypes:
                  if dtype_info["name"] in final_group_cols:
                      classifier = classify_type(dtype_info["dtype"])
                      if classifier == "F":
                          return ["bins"]
                      if classifier == "I":
                          return ["groups", "bins"]
                      return ["groups"]
              for fgc in final_group_cols:
                  col, freq = fgc.split(CHART_JOINER_CHAR)
                  col_exists = (
                      next(
                          (
                              dtype_info
                              for dtype_info in dtypes
                              if dtype_info["name"] == col
                          ),
                          None,
                      )
                      is not None
                  )
                  if col_exists and freq in FREQS:
                      return ["groups"]
          return []
  
      chart_type = inputs.get("chart_type")
  
      if show_input_handler(chart_type)("group"):
          return _flags("group")
      elif show_input_handler(chart_type)("map_group"):
          return _flags("map_group")
      elif show_input_handler(chart_type)("cs_group"):
          return _flags("cs_group")
      elif show_input_handler(chart_type)("treemap_group"):
          return _flags("treemap_group")
      elif show_input_handler(chart_type)("funnel_group"):
          return _flags("funnel_group")
      elif show_input_handler(chart_type)("clustergram_group"):
          return _flags("clustergram_group")
      elif show_input_handler(chart_type)("pareto_group"):
          return _flags("pareto_group")
      return False, False
  
imports: import json
  import dash_bootstrap_components
  import dash_colorscales
  import dash_daq
  import os
  import plotly
  from pkg_resources import parse_version
  from six import PY3
  from dtale.dash_application import dcc, html
  import dtale.dash_application.custom_geojson
  import dtale.dash_application.extended_aggregations
  import dtale.global_state
  from dtale.charts.utils import AGGS, ANIMATION_CHARTS, ANIMATE_BY_CHARTS, YAXIS_CHARTS, ZAXIS_CHARTS, NON_EXT_AGGREGATION, build_final_cols, find_group_vals
  from dtale.column_builders import get_cleaner_configs
  from dtale.constants import CHART_JOINER_CHAR
  from dtale.dash_application.layout.utils import build_input, build_option, build_tab, build_cols, build_hoverable, build_selections, show_style, FREQS, FREQ_LABELS
  from dtale.translations import text
  from dtale.query import build_query, handle_predefined, inner_build_query, run_query
  from dtale.utils import ChartBuildingError, classify_type, coord_type, get_dtypes, is_app_root_defined, make_list
label_desc: Use image node_id 17 for calling a global function with example usage: get_group_types(inputs, group_cols) and returns: False,  False, list, _flags, _flags, _flags, list, list, _flags, list, list, _flags, _flags, _flags