The above request cannot be acheived in Standard . We need to customize
I can suggest below solution , Requesting you to test in Sandbox
Solution 1 - Using Enums - Not that practical if new option comes in future
1) Since visibility of options cannot be dynamic , we can restrict user from selecting wrong option
2) Provide error while selecting wrong option
2.1If Product Type = Drives and user selects "instock" or "Not in Stock" Warranty option then provide Error message
2.1If Product Type = Non- Drives and user selects "Credit" or "Replacement" Warranty option then provide Error message
3) This solution will work if there is no extension in enums
Solution 2 - Using Table Relations . This will consume Tables, Data but it will work long-run
1) Create Table "Product type" having fields
1.1 Product Type - Code [30]- Primary Key
1.2 Product Type Description- Text [100]
2)Create Table "Warranty" having feilds
1.1 Product Type - Code [30]- Primary Key
1.2 Warranty type =- Code[30= - Primary Key
1.3 Warranty Type Desc- Text [100]
3) Create Field " Product Type" in your custom table and provide table relation to Product Type
4) Create Field "Warranty" in your custom table and provide table reltaion to Warranty Table as below
you can see error i dont have "Warranty" Table . this is just to explain how it can be done
For above solution you can control warranty type based on product type
Hope this helps
Warm Regards
Pallavi Phade