[shopping_list] ability to categorize + ability to restore object to original location

Using the shopping list as intended, I clear the shopping list after groceries and repopulate.
I order the items based on the order at the grocery store to be able to tick them off one by one in sequence.

Request 1:
Instead of clearing the list, I could keep the list as completed.
Unchecking an item should retore the item at the original position. This would ensure that groceries remain in the same order and therefore following my path at the grocery store.
Currently they are added again at the bottom of the list and reordering is required every time

Request 2:
Adding items to categories/groups would allow to easily insert new items in the existing ordr and provide some additional meaning and sorting capabilities (vegetables, drinks, meat, etc).