SELECT 
  cscart_june_setupproducts_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_june_setupproducts_categories.link_type = "M", 
      CONCAT(
        cscart_june_setupproducts_categories.category_id, 
        "M"
      ), 
      cscart_june_setupproducts_categories.category_id
    )
  ) AS category_ids 
FROM 
  cscart_june_setupproducts_categories 
  INNER JOIN cscart_june_setupcategories ON cscart_june_setupcategories.category_id = cscart_june_setupproducts_categories.category_id 
  AND cscart_june_setupcategories.storefront_id IN (0, 1) 
  AND (
    cscart_june_setupcategories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_june_setupcategories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_june_setupcategories.usergroup_ids
    )
  ) 
  AND cscart_june_setupcategories.status IN ('A', 'H') 
WHERE 
  cscart_june_setupproducts_categories.product_id IN (
    147, 148, 149, 150, 151, 152, 153, 154, 
    155, 156, 157, 158, 159, 160, 161, 162
  ) 
GROUP BY 
  cscart_june_setupproducts_categories.product_id

Query time 0.00067

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "30.97"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "0.43"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_june_setupcategories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 84,
            "rows_produced_per_join": 3,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "19.53",
              "eval_cost": "0.67",
              "prefix_cost": "20.20",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`vishalecarter_june_setup`.`cscart_june_setupcategories`.`storefront_id` in (0,1)) and ((`vishalecarter_june_setup`.`cscart_june_setupcategories`.`usergroup_ids` = '') or find_in_set(0,`vishalecarter_june_setup`.`cscart_june_setupcategories`.`usergroup_ids`) or find_in_set(1,`vishalecarter_june_setup`.`cscart_june_setupcategories`.`usergroup_ids`)) and (`vishalecarter_june_setup`.`cscart_june_setupcategories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_june_setupproducts_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "vishalecarter_june_setup.cscart_june_setupcategories.category_id"
            ],
            "rows_examined_per_scan": 2,
            "rows_produced_per_join": 0,
            "filtered": "6.34",
            "index_condition": "(`vishalecarter_june_setup`.`cscart_june_setupproducts_categories`.`product_id` in (147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162))",
            "cost_info": {
              "read_cost": "9.00",
              "eval_cost": "0.09",
              "prefix_cost": "30.55",
              "data_read_per_join": "6"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
147 179M
148 179M
149 179M
150 210M
151 210M
152 210M
153 181M
154 181M
155 181M
156 181M
157 181M
158 253M
159 253M
160 210M
161 199,198M
162 253M