SELECT 
  products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      products_categories.link_type = "M", 
      CONCAT(
        products_categories.category_id, 
        "M"
      ), 
      products_categories.category_id
    )
  ) AS category_ids 
FROM 
  products_categories 
  INNER JOIN categories ON categories.category_id = products_categories.category_id 
  AND categories.storefront_id IN (0, 1) 
  AND (
    categories.usergroup_ids = '' 
    OR FIND_IN_SET(0, categories.usergroup_ids) 
    OR FIND_IN_SET(1, categories.usergroup_ids)
  ) 
  AND categories.status IN ('A', 'H') 
WHERE 
  products_categories.product_id IN (
    226562, 226567, 226607, 239881, 226600, 
    239886, 226604, 239888, 226566, 226576, 
    226561, 226559, 226558, 226565, 226557, 
    226590, 226575
  ) 
GROUP BY 
  products_categories.product_id

Query time 0.00131

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "54.22"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 98,
            "rows_produced_per_join": 98,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "10.12",
              "eval_cost": "9.80",
              "prefix_cost": "19.92",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`goimagine`.`products_categories`.`product_id` in (226562,226567,226607,239881,226600,239886,226604,239888,226566,226576,226561,226559,226558,226565,226557,226590,226575))"
          }
        },
        {
          "table": {
            "table_name": "categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "goimagine.products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "24.50",
              "eval_cost": "0.49",
              "prefix_cost": "54.22",
              "data_read_per_join": "12K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`goimagine`.`categories`.`storefront_id` in (0,1)) and ((`goimagine`.`categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`goimagine`.`categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`goimagine`.`categories`.`usergroup_ids`))) and (`goimagine`.`categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
226557 114,15645,15649,16895,16898,19232,45M
226558 110,15645,15649,16895,16897,19232,45M
226559 110,15645,15649,16895,16897,19232,45M
226561 15645,15649,16895,16897,19232,2566M
226562 15645,15649,16895,19232,19240,2566M
226565 15645,15649,16895,16898,19232,2566M
226566 15645,15649,16895,19232,2566M
226567 15645,15649,16895,19232,19240,2566M
226575 15645,19232,19241,2566M
226576 230,15645,16901,19232,2566M
226590 15645,16895,19232,19243,19244,2566M
226600 230,15645,16901,19232,2566M
226604 45,15649,16895,16896,19232,2566M
226607 15645,16901,19232,2566M
239881 109,15649,16895,16896,19232,45M
239886 116,15649,16895,16896,19232,45M
239888 116,15649,16895,16896,19232,45M