diff --git a/gso/products/product_types/__init__.py b/gso/products/product_types/__init__.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3e5410787324fb2f4eda6d89945de69ad9a75a25 100644
--- a/gso/products/product_types/__init__.py
+++ b/gso/products/product_types/__init__.py
@@ -0,0 +1,6 @@
+"""Product types define the different products that are available.
+
+Multiple product blocks may insist on a single product type. In that sense, a product type is a mode general description
+of a product. For example, the product type {class}`Device` must either be a router or a switch, both being separate
+product blocks.
+"""
diff --git a/gso/products/product_types/device.py b/gso/products/product_types/device.py
index e7dc270367c82acc4ad3d86a0a303376120331da..09ad08a7080ac1f729c3333e5db3a882157ab529 100644
--- a/gso/products/product_types/device.py
+++ b/gso/products/product_types/device.py
@@ -5,6 +5,11 @@ from gso.products.product_blocks.device import DeviceBlock, DeviceBlockInactive,
 
 
 class DeviceType(strEnum):
+    """Enumerator for different device types.
+
+    A device can either be a router or a switch.
+    """
+
     router = "router"
     switch = "switch"