Craft Commerce cart product as unique product with different notes Our client wants a specific option built in Craft Commerce. I guess is possible, but don't know how? Maybe you can help me out?

A customer selects a box: for example "giftbox custom 4" (priced $ 15). After selecting the box. The customer can pick 4 different tastes of chocolate cookies (e.g. 2 brownies, 2 white choco. etc). After picking the cookies, the client can add this to the cart.

My initial thought is to use a note fields for this, storing all the cookie data. But how can I make sure that each "giftbox custom 4" is a unique line item? Now Craft is adding all the "giftbox custom 4" together.

This is what I want to create:

2x Giftbox custom 4
Containing: 2 caramel, 2 brownies

1x Giftbox custom 4
Containing: 1 white choco, 3 caramel

2x Giftbox custom 4
Containing: 2 dark choco, 1 caramel, 1 fruit

In total there a more than 14 different giftbox sizes. 
Giftbox custom 2, Giftbox custom 4, Giftbox custom 6, etc.
And you can choose from > 30 different cookies

@Luke Holder:
When I am using line-item options: For example: Giftbox 4 -> with options ABCD.  

After submitting: they appear in my basket. Perfect, and i can change the quantity of Giftbox 4 -> with options ABCD . 

But when I go back to the shop and add an extra giftbox to the cart: Giftbox 4 -> with options EFGH. Giftbox 4 -> with options ABCD are removed from my cart. 

So i want the "Giftbox 4" products separated:
1x Giftbox 4 -> with options ABCD .
1x Giftbox 4 -> with options EFGH
Line item options are built in and are designed exactly for this use-case: 

https://docs.craftcms.com/commerce/v2/adding-to-and-updating-the-cart.html#line-item-options-and-notes