## Is your feature request related to a problem?

As a team accumulates data, they will have events/properties that are no longer in use that clutter their app.

Example from our team:
![image](https://user-images.githubusercontent.com/148820/143202334-42d73ab6-13be-4661-ba7a-83c86788b9e8.png)


## Describe the solution you'd like

Under event/properties stats allow 'hiding' events/properties from view.

## Describe alternatives you've considered

Alternatively, go the route of "verified" events/properties (as He@p) does - show those first. See also https://help.heap.io/category/heap-administration/data-governance/

## Additional context

Note: Existing reports, etc should still work well even with 'removed' events/properties.

Related: https://github.com/PostHog/posthog/issues/7126

#### *Thank you* for your feature request – we love each and every one!

posthog/api/test/test_property_definition.py
PropertyDefinition.objects.create(team=self.team, name="$feature/plan", property_type="String")
        response = self.client.get(f"/api/projects/{self.team.pk}/property_definitions/?search=plan")
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.json()["count"], 2)
        response = self.client.get(
            f"/api/projects/{self.team.pk}/property_definitions/?search=plan&is_feature_flag=true"
        )
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.json()["count"], 1)
        self.assertEqual(response.json()["results"][0]["name"], "$feature/plan")
        response = self.client.get(
            f"/api/projects/{self.team.pk}/property_definitions/?search=plan&is_feature_flag=false"
        )
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.json()["count"], 1)
        self.assertEqual(response.json()["results"][0]["name"], "plan")
class TestPropertyDefinitionQuerySerializer(BaseTest):
    def test_validation(self):
        assert PropertyDefinitionQuerySerializer(data={}).is_valid()
        assert PropertyDefinitionQuerySerializer(data={"type": "event", "event_names": '["foo","bar"]'}).is_valid()
        assert PropertyDefinitionQuerySerializer(data={"type": "person"}).is_valid()
        assert not PropertyDefinitionQuerySerializer(data={"type": "person", "event_names": '["foo","bar"]'}).is_valid()
        assert PropertyDefinitionQuerySerializer(data={"type": "group", "group_type_index": 3}).is_valid()
        assert not PropertyDefinitionQuerySerializer(data={"type": "group"}).is_valid()
        assert not PropertyDefinitionQuerySerializer(data={"type": "group", "group_type_index": 77}).is_valid()
        assert not PropertyDefinitionQuerySerializer(data={"type": "group", "group_type_index": -1}).is_valid()
        assert not PropertyDefinitionQuerySerializer(data={"type": "event", "group_type_index": 3}).is_valid()